package com.laowang.project.system.mapper;

import java.util.List;

import com.laowang.project.system.domain.MyCoupon;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 用户购买的优惠券Mapper接口
 *
 * @author laowang
 * @date 2023-07-25
 */
public interface MyCouponMapper {
    /**
     * 查询用户购买的优惠券
     *
     * @param id 用户购买的优惠券ID
     * @return 用户购买的优惠券
     */
     MyCoupon selectMyCouponById(Integer id);

    /**
     * 查询用户购买的优惠券列表
     *
     * @param myCoupon 用户购买的优惠券
     * @return 用户购买的优惠券集合
     */
     List<MyCoupon> selectMyCouponList(MyCoupon myCoupon);

    /**
     * 新增用户购买的优惠券
     *
     * @param myCoupon 用户购买的优惠券
     * @return 结果
     */
    int insertMyCoupon(MyCoupon myCoupon);

    /**
     * 修改用户购买的优惠券
     *
     * @param myCoupon 用户购买的优惠券
     * @return 结果
     */
    int updateMyCoupon(MyCoupon myCoupon);

    /**
     * 删除用户购买的优惠券
     *
     * @param id 用户购买的优惠券ID
     * @return 结果
     */
    int deleteMyCouponById(Integer id);

    /**
     * 批量删除用户购买的优惠券
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteMyCouponByIds(Integer[] ids);

    List<MyCoupon> selectMyCouponListWeb(MyCoupon myCoupon);

    List<MyCoupon> checkRecord(@Param("myCoupons") List<Integer> myCoupons);

    @Select("select * from my_coupon where order_id =#{orderId}")
    MyCoupon selectMyCouponByOrderId(String orderId);

    List<MyCoupon> selectMyCouponWeb(@Param("shopId") Integer shopId,@Param("date") String date);

    Integer selectCount(@Param("shopId") Integer shopId,@Param("date") String date);
}
